﻿using System;
using System.Collections.Generic;

namespace BrainTechLLC
{
	public interface ITemplate
	{
		void AddDefaults(IFromTemplate item);
		IFromTemplate CreateInstance(List<object> arguments);
		T CreateInstance<T>(List<object> arguments) where T : class, IFromTemplate;
		string FriendlyName { get; set; }
		PropertyData PropertiesToSet { get; set; }
		void Register();
		void RegisterTemplate();
		string TypeName { get; set; }
	}
}
